package org.sjs.dreamfly.model.haokan

data class HaoKanShortVideoInfo(
//    var author: String?,
//    var authorCmd: AuthorCmd?,
//    var authorIcon: String?,
//    var authorLevel: Int?,
//    var authorWishes: String?,
//    var authorid: String?,
//    var barSort: List<BarSort>?,
//    var checkInfo: CheckInfo?,
//    var comment: Comment?,
//    var degradeExt: String?,
//    var degradeNum: Int?,
//    var degradeText: String?,
//    var degraded: Int?,
//    var dislike: List<Dislike>?,
//    var duration: Int?,
//    var durationText: String?,
//    var extLog: ExtLog?,
//    var extra: String?,
//    var favorite: Favorite?,
//    var follow: Follow?,
//    var hw: Double?,
//    var id: String?,
//    var isFollow: Int?,
//    var isOriginal: Int?,
//    var itemType: String?,
//    var likeExt: String?,
//    var loc: String?,
//    var metaTagList: List<Any>?,
//    var new_cate_sub_v2: String?,
//    var new_cate_v2: String?,
//    var nid: String?,
//    var pageUrl: String?,
//    var playcnt: Int?,
//    var playcntText: String?,
    var poster: String?,
//    var praiseNum: Int?,
//    var praiseText: String?,
//    var praised: Int?,
//    var publish_time: Int?,
//    var recType: Any?,
//    var searchid: String?,
//    var selfBuildImgHttp: String?,
//    var shareInfo: ShareInfo?,
//    var siteAccountId: String?,
//    var sourceFrom: String?,
//    var status: String?,
//    var tagList: List<Any>?,
//    var thumbnail: String?,
    var title: String?,
//    var vType: Int?,
//    var vid: String?,
//    var videoInfo: VideoInfo?,
//    var videoProvider: String?,
    var videoSrc: String?,
//    var videoType: String?,
//    var video_checkAccept: Int?,
//    var video_status: Int?,
//    var vlcmd: Vlcmd?
) {
    fun toVideoInfo(): org.sjs.dreamfly.model.VideoInfo {
        return org.sjs.dreamfly.model.VideoInfo(
            videoUrl = videoSrc,
            title = title,
            refer = null,
            nextRefer = null,
            prevRefer = null,
            nextVideoUrl = null,
            movieId = null,
            sid = 1,
            nid = 1,
            encrypt = 0,
            imageUrl = poster,
            parent = null,
        )
    }
}

data class Ad(
    var buttonTitle: String?,
    var content: String?,
    var url: String?
)

data class AuthorCmd(
    var mode: String?,
    var url: String?
)

data class BarSort(
    var item: String?,
    var show: Int?,
    var title: String?
)

data class CategoryInfo(
    var nid: String?
)

data class Ccmd(
    var mode: String?,
    var url: String?
)

data class CheckInfo(
    var bigpic: Int?,
    var contentQuality: String?,
    var titleQuality: Int?
)

data class ClarityUrl(
    var cache_buffer: Int?,
    var gopAlign: Boolean?,
    var height: Int?,
    var key: String?,
    var max: Int?,
    var maxH: Double?,
    var min: Int?,
    var rank: Int?,
    var title: String?,
    var transType: String?,
    var url: String?,
    var videoBps: Int?,
    var videoSize: Double?,
    var vodMoovSize: Int?,
    var vodVideoHW: String?,
    var width: Int?
)

data class Comment(
    var ccmd: Ccmd?,
    var cnumber: Int?,
    var cnumberText: String?,
    var id: Id?
)

data class Dislike(
    var id: String?,
    var name: String?
)

data class ExtLog(
    var authorID: String?,
    var image: String?,
    var msrcid: String?,
    var rec_type: Any?,
    var searchID: String?,
    var tab_id: String?,
    var tags: List<Any?>?,
    var title: String?,
    var vType: Int?,
    var vid: String?
)

data class ExtLogX(
    var authorID: String?,
    var duration: String?,
    var isRec: Int?,
    var locid: String?,
    var mt: Int?,
    var mtNew: String?,
    var pd: String?,
    var pdRec: String?,
    var searchID: String?,
    var tab: String?,
    var vType: Int?
)

data class Favorite(
    var cmd: String?,
    var duration: String?,
    var img: String?,
    var source: String?,
    var tag: String?,
    var title: String?,
    var tplid: String?,
    var ukey: String?,
    var url: String?
)

data class Follow(
    var ext: String?,
    var sfrom: String?,
    var source: String?,
    var third_id: String?,
    var type: String?
)

data class Id(
    var key: String?,
    var logid: String?,
    var nid: String?,
    var source: String?
)

data class Share(
    var full: Boolean?,
    var half: Boolean?
)

data class ShareInfo(
    var categoryInfo: CategoryInfo?,
    var content: String?,
    var iconUrl: String?,
    var linkUrl: String?,
    var mediaType: String?,
    var source: String?,
    var title: String?,
    var type: String?
)

data class VideoInfo(
    var ad: Ad?,
    var autoSize: Boolean?,
//    var clarityUrl: List<ClarityUrl>?,
    var duration: String?,
    var ext_log: ExtLogX?,
    var page: String?,
    var pageUrl: String?,
    var poster: String?,
    var posterImage: String?,
    var share: Share?,
    var title: String?,
    var vid: String?
)

data class Vlcmd(
    var mode: String?,
    var url: String?
)